package com.cxso.example.request.wlpt;

import com.cxso.example.domain.wlpt.waybill.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;


@Setter
@Getter
@Schema(description = "货源接单")
public class ApiConsignorGoodsAcceptReq extends ApiBaseReq {

    @Schema(description = "运单ID")
    @NotBlank(message = "运单ID不可为空")
    private String waybillId;

    @Schema(description = "运单基础信息")
    @Valid
    @NotNull(message = "运单基础信息不能为空")
    private ApiWaybillBasicDomain waybillBasicDomain;

    @Schema(description = "运单线路信息")
    @Valid
    @NotNull(message = "运单线路信息不能为空")
    private ApiWaybillLineDomain waybillLineDomain;

    @Schema(description = "运单货物信息")
    @Valid
    @NotNull(message = "运单货物信息不能为空")
    private List<ApiWaybillGoodsDomain> waybillGoodsDomains;

    @Schema(description = "运单结算信息")
    @Valid
    @NotNull(message = "运单结算信息不能为空")
    private ApiWaybillSettlementDomain waybillSettlementDomain;

    @Schema(description = "运单保险信息")
    @Valid
    private ApiWaybillInsuranceDomain waybillInsuranceDomain;

}
